# 文件处理
# 读取配置文件
# 输出文档

# 打开一个文件
# open

# f = open('./test.txt')
# f.close()

# 打开文件的模式
"""
一般来说，我们打开一个文件都是带有目的的，比如说：读/写

所以根据不同的目的，也会有不同的模式。

一般常用的就是：

r, 只读模式，无法写入, 文件指针在开头位置
w，写模式，打开文件时，会清空原有的内容后写入新的, 文件指针在开头位置
a，追加模式，写入时，会在文件尾部进行内容添加。文件指针在结尾位置
r+, 读写模式, 文件指针在开头位置写入时，会覆盖原有的内容
w+, 读写模式, 文件指针在开头位置，打开文件时，会清空原有的内容后写入新的
a+, 追加读写模式, 文件指针在结尾位置，写入时，会在文件尾部进行内容添加
rb+, 以二进制模式打开，其余的和上述一致
wb+, 以二进制模式打开，其余的和上述一致
ab+, 以二进制模式打开，其余的和上述一致
"""

# 文件指针.不仅能读也能写,读/写一位,就会往后移动一位

with open('./test.txt', 'r', encoding="utf-8") as f:
    print(f.readline())
    print(f.tell())
    print(f.readline())
    print(f.tell())
    print(f.readline())
    print(f.tell())
    # f.write("abc")
    ...


# 文件方法
# read，读取文件内容
# write，写入文件内容，注意，参数必须是字符串
# readline，按行读取内容，一行一行的读
# tell，获取文件指针位置
# seek，修改文件指针位置

# 文件路径
"""
打开文件需要传递路径，所以这个知识点也是不能避开的。

路径类型分为两种：

相对路径，相对于运行路径
绝对路径，从盘符开始的路径

一般来说，文件类型的操作，我都强烈推荐使用绝对路径

因为 相对路径太危险！

注意，相对路径是 相对于运行路径

也就是说，运行路径的不同，相对路径换算出来的路径也会不同。
"""